package com.jrx.anytxn.transaction.timer.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties(prefix = "batchconfig.anytxn")
public class AnytxnBatchProperties {
    /**
     * 默认配置
     */
    private DefaultConfig defaultConfig = new DefaultConfig();

    /**
     * 借款配置
     */
    private DefaultConfig loanConfig = new DefaultConfig(100, 0, 16, 10000);

    /**
     * 借款查询配置
     */
    private DefaultConfig queryLoanStatusConfig = new DefaultConfig(100, 0, 8, 10000);

    /**
     * 溢缴款查询配置
     */
    private DefaultConfig queryRefundStatusConfig = new DefaultConfig(100, 0, 8, 10000);

    /**
     * 还款配置
     */
    private DefaultConfig paymentConfig = new DefaultConfig(100, 0, 8, 10000);

    /**
     * 还款查询配置
     */
    private DefaultConfig queryPaymentStatusConfig = new DefaultConfig(100, 0, 8, 10000);

    /**
     * 还款分配配置
     */
    private DefaultConfig allocationConfig = new DefaultConfig(100, 0, 32, 10000);

    /**
     * 取消订单配置
     */
    private DefaultConfig cancleLoanConfig = new DefaultConfig(100, 0, 8, 10000);

    /**
     * 取消订单配置
     */
    private DefaultConfig refundConfig = new DefaultConfig(100, 0, 8, 10000);

    public DefaultConfig getDefaultConfig() {
        return defaultConfig;
    }

    public void setDefaultConfig(DefaultConfig defaultConfig) {
        this.defaultConfig = defaultConfig;
    }


    public DefaultConfig getLoanConfig() {
        return loanConfig;
    }

    public void setLoanConfig(DefaultConfig loanConfig) {
        this.loanConfig = loanConfig;
    }

    public DefaultConfig getQueryLoanStatusConfig() {
        return queryLoanStatusConfig;
    }

    public void setQueryLoanStatusConfig(DefaultConfig queryLoanStatusConfig) {
        this.queryLoanStatusConfig = queryLoanStatusConfig;
    }

    public DefaultConfig getPaymentConfig() {
        return paymentConfig;
    }

    public void setPaymentConfig(DefaultConfig paymentConfig) {
        this.paymentConfig = paymentConfig;
    }

    public DefaultConfig getQueryPaymentStatusConfig() {
        return queryPaymentStatusConfig;
    }

    public void setQueryPaymentStatusConfig(DefaultConfig queryPaymentStatusConfig) {
        this.queryPaymentStatusConfig = queryPaymentStatusConfig;
    }

    public DefaultConfig getAllocationConfig() {
        return allocationConfig;
    }

    public void setAllocationConfig(DefaultConfig allocationConfig) {
        this.allocationConfig = allocationConfig;
    }

    public DefaultConfig getCancleLoanConfig() {
        return cancleLoanConfig;
    }

    public void setCancleLoanConfig(DefaultConfig cancleLoanConfig) {
        this.cancleLoanConfig = cancleLoanConfig;
    }

    public DefaultConfig getRefundConfig() {
        return refundConfig;
    }

    public void setRefundConfig(DefaultConfig refundConfig) {
        this.refundConfig = refundConfig;
    }

    /**
     * 获取 溢缴款查询配置
     *
     * @return queryRefundStatusConfig 溢缴款查询配置
     */
    public DefaultConfig getQueryRefundStatusConfig() {
        return this.queryRefundStatusConfig;
    }

    /**
     * 设置 溢缴款查询配置
     *
     * @param queryRefundStatusConfig 溢缴款查询配置
     */
    public void setQueryRefundStatusConfig(DefaultConfig queryRefundStatusConfig) {
        this.queryRefundStatusConfig = queryRefundStatusConfig;
    }
}
